
# 管理员用户表结构定义
# CREATE TABLE admin_users (
#     id INT PRIMARY KEY AUTO_INCREMENT,  # 主键ID，自动递增
#     username VARCHAR(50) UNIQUE NOT NULL,  # 用户名，唯一且不能为空
#     password_hash VARCHAR(200) NOT NULL,  # 密码哈希值，存储加密后的密码
#     role_type ENUM('super', 'business', 'audit') NOT NULL,  # 角色类型：超级管理员/业务管理员/审计管理员
#     created_at DATETIME DEFAULT CURRENT_TIMESTAMP  # 创建时间，默认为当前时间
# );

from exts import db
from enum import Enum

class RoleType(Enum):
    SUPER = 'super'
    # 超级管理员
    BUSINESS = 'business'
    # 业务管理员
    AUDIT = 'audit'
    # 审计管理员

class AdminUser(db.Model):
    """管理员用户数据模型类"""
    __tablename__ = 'admin_users'  # 对应数据库中的表名
    
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  
    # 自增主键ID
    username = db.Column(db.String(50), unique=True, nullable=False) 
    # 用户名，唯一且必填
    password_hash = db.Column(db.String(200), nullable=False)  
    # 加密后的密码，必填
    role_type = db.Column(db.Enum(RoleType), nullable=False)  
    # 用户角色类型(超级/业务/审计)
    created_at = db.Column(db.DateTime, server_default=db.func.now())  
    # 创建时间，默认当前时间
